// ChatSession.java
package com.ruoyi.chatAi.domain;

import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.List;
import java.util.ArrayList;

/**
 * 聊天会话对象
 *
 * @author ruoyi
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class ChatSession extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /** 会话ID (UUID格式) */
    private String sessionId;

    /** 用户ID */
    @Excel(name = "用户ID")
    private Long userId;

    /** 会话标题 */
    @Excel(name = "会话标题")
    private String title;

    /** 系统提示词 */
    private String systemPrompt;

    /** 最后一条消息摘要 */
    private String lastMessageSummary;

    /** 状态（0正常 1已归档） */
    @Excel(name = "状态", readConverterExp = "0=正常,1=已归档")
    private String status;

    /** 删除标志（0代表存在 2代表删除） */
    private String delFlag;

    /** 深度思考模式标记 */
    private Boolean deepThinking;

    /** 聊天消息列表 (非数据库字段，用于数据传输) */
    private List<ChatMessage> messages;

    /** 构造函数 */
    public ChatSession() {
        this.title = "";
        this.status = "0";
        this.delFlag = "0";
        this.deepThinking = false;
    }
}